package com.hyt.it.ogt.ykcj.mapper.exam;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hyt.it.ogt.ykcj.domain.exam.EnterpriseExamScoreLineSettingSub;
import com.hyt.it.ogt.ykcj.domain.param.ScoreLineItem;
import com.hyt.it.ogt.ykcj.domain.vo.EnterpriseExamScoreLineSettingSubVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 企业招聘分数线设置科目分数Mapper接口
 *
 * @author liying
 * @date 2021-11-18
 */
public interface EnterpriseExamScoreLineSettingSubMapper extends BaseMapper<EnterpriseExamScoreLineSettingSub> {

    /**
     * 查询招考职位分数线设置科目分数列表
     *
     * @param enterpriseExamScoreLineSettingSub 招考职位分数线设置科目分数
     * @return 招考职位分数线设置科目分数集合
     */
    List<EnterpriseExamScoreLineSettingSub> selectEnterpriseExamScoreLineSettingSubList(EnterpriseExamScoreLineSettingSub enterpriseExamScoreLineSettingSub);

    /**
     * 通过考试id查询分数线明细
     *
     * @param examId 分数线id
     * @return 招考职位分数线设置科目分数集合
     */
    List<ScoreLineItem> selectEnterpriseExamScoreLineSettingByExamId(String examId);

    /**
     * 删除招考职位分数线设置科目分数
     *
     * @param subjectId 科目id
     * @return 结果
     */
    int deleteEnterpriseExamScoreLineSettingSubBySubjectId(String subjectId);

    /**
     * 根据分数线id删除明细
     *
     * @param enterpriseExamScoreLineSettingId 招考职位分数线设置科目分数ID
     * @return 结果
     */
    int deleteEnterpriseExamScoreLineSettingSubBySettingId(String enterpriseExamScoreLineSettingId);

    /**
     * 新增批量招考职位分数线设置科目分数
     *
     * @param list 招考职位分数线设置科目分数
     * @return 结果
     */
    Integer insertBatchEnterpriseExamScoreLineSettingSub(List<EnterpriseExamScoreLineSettingSub> list);

    /**
     * 根据分数线id查询region_name
     *
     * @param settingIds
     * @return 结果
     */
    List<String> selectRegionNameBySettingIds(@Param("settingIds") String[] settingIds, @Param("subjectId") String subjectId);

    /**
     * 根据考试id，考试类型，考试维度获取区间
     *
     * @param examId    考试id
     * @param dimension 维度：0:考试 1：科目
     * @param composite 分数线类型：0:单科 1:复合 2:区间
     * @return
     */
    List<EnterpriseExamScoreLineSettingSubVo> selectRegionNameListByExamId(@Param("examId") String examId, @Param("dimension") String dimension, @Param("composite") String composite);

    /**
     * 根据考试id，科目id，试类型，考试维度获取区间
     * @param examId 考试id
     * @param subjectId  科目id
     * @param dimension 维度：0:考试 1：科目
     * @param composite 分数线类型：0:单科 1:复合 2:区间
     * @return
     */
    List<EnterpriseExamScoreLineSettingSubVo> selectRegionNameListByExamIdAndSubjcetId(@Param("examId")String examId,@Param("subjectId") String subjectId,@Param("dimension") String dimension,@Param("composite") String composite);
}
